<?xml version='1.0'?>

<gl_extension name="GL_VERSION_1_4">
	<tokens>
		<token name="GL_BLEND_DST_RGB" value="0x80C8"/>
		<token name="GL_BLEND_SRC_RGB" value="0x80C9"/>
		<token name="GL_BLEND_DST_ALPHA" value="0x80CA"/>
		<token name="GL_BLEND_SRC_ALPHA" value="0x80CB"/>
		<token name="GL_POINT_FADE_THRESHOLD_SIZE" value="0x8128"/>
		<token name="GL_DEPTH_COMPONENT16" value="0x81A5"/>
		<token name="GL_DEPTH_COMPONENT24" value="0x81A6"/>
		<token name="GL_DEPTH_COMPONENT32" value="0x81A7"/>
		<token name="GL_MIRRORED_REPEAT" value="0x8370"/>
		<token name="GL_MAX_TEXTURE_LOD_BIAS" value="0x84FD"/>
		<token name="GL_TEXTURE_LOD_BIAS" value="0x8501"/>
		<token name="GL_INCR_WRAP" value="0x8507"/>
		<token name="GL_DECR_WRAP" value="0x8508"/>
		<token name="GL_TEXTURE_DEPTH_SIZE" value="0x884A"/>
		<token name="GL_TEXTURE_COMPARE_MODE" value="0x884C"/>
		<token name="GL_TEXTURE_COMPARE_FUNC" value="0x884D"/>
		<token name="GL_POINT_SIZE_MIN" value="0x8126"/>
		<token name="GL_POINT_SIZE_MAX" value="0x8127"/>
		<token name="GL_POINT_DISTANCE_ATTENUATION" value="0x8129"/>
		<token name="GL_GENERATE_MIPMAP" value="0x8191"/>
		<token name="GL_GENERATE_MIPMAP_HINT" value="0x8192"/>
		<token name="GL_FOG_COORDINATE_SOURCE" value="0x8450"/>
		<token name="GL_FOG_COORDINATE" value="0x8451"/>
		<token name="GL_FRAGMENT_DEPTH" value="0x8452"/>
		<token name="GL_CURRENT_FOG_COORDINATE" value="0x8453"/>
		<token name="GL_FOG_COORDINATE_ARRAY_TYPE" value="0x8454"/>
		<token name="GL_FOG_COORDINATE_ARRAY_STRIDE" value="0x8455"/>
		<token name="GL_FOG_COORDINATE_ARRAY_POINTER" value="0x8456"/>
		<token name="GL_FOG_COORDINATE_ARRAY" value="0x8457"/>
		<token name="GL_COLOR_SUM" value="0x8458"/>
		<token name="GL_CURRENT_SECONDARY_COLOR" value="0x8459"/>
		<token name="GL_SECONDARY_COLOR_ARRAY_SIZE" value="0x845A"/>
		<token name="GL_SECONDARY_COLOR_ARRAY_TYPE" value="0x845B"/>
		<token name="GL_SECONDARY_COLOR_ARRAY_STRIDE" value="0x845C"/>
		<token name="GL_SECONDARY_COLOR_ARRAY_POINTER" value="0x845D"/>
		<token name="GL_SECONDARY_COLOR_ARRAY" value="0x845E"/>
		<token name="GL_TEXTURE_FILTER_CONTROL" value="0x8500"/>
		<token name="GL_DEPTH_TEXTURE_MODE" value="0x884B"/>
		<token name="GL_COMPARE_R_TO_TEXTURE" value="0x884E"/>
	</tokens>

	<functions>
		<function name="glBlendFuncSeparate" return="void">
			<params>
				<param type="GLenum" name="sfactorRGB"/>
				<param type="GLenum" name="dfactorRGB"/>
				<param type="GLenum" name="sfactorAlpha"/>
				<param type="GLenum" name="dfactorAlpha"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_blend_func_separate" name="glBlendFuncSeparateEXT"/>
				<mapping from="GL_INGR_blend_func_separate" name="glBlendFuncSeparateINGR"/>
			</mappings>
		</function>
		<function name="glMultiDrawArrays" return="void">
			<params>
				<param type="GLenum" name="mode"/>
				<param type="GLint*" name="first"/>
				<param type="GLsizei*" name="count"/>
				<param type="GLsizei" name="drawcount"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_multi_draw_arrays" name="glMultiDrawArraysEXT"/>
			</mappings>
		</function>
		<function name="glMultiDrawElements" return="void">
			<params>
				<param type="GLenum" name="mode"/>
				<param type="GLsizei*" name="count"/>
				<param type="GLenum" name="type"/>
				<param type="const GLvoid**" name="indices"/>
				<param type="GLsizei" name="drawcount"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_multi_draw_arrays" name="glMultiDrawElementsEXT"/>
			</mappings>
		</function>
		<function name="glPointParameterf" return="void">
			<params>
				<param type="GLenum" name="pname"/>
				<param type="GLfloat" name="param"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_point_parameters" name="glPointParameterfARB"/>
				<mapping from="GL_EXT_point_parameters" name="glPointParameterfEXT"/>
				<mapping from="GL_SGIS_point_parameters" name="glPointParameterfSGIS"/>
			</mappings>
		</function>
		<function name="glPointParameterfv" return="void">
			<params>
				<param type="GLenum" name="pname"/>
				<param type="GLfloat*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_point_parameters" name="glPointParameterfvARB"/>
				<mapping from="GL_EXT_point_parameters" name="glPointParameterfvEXT"/>
				<mapping from="GL_SGIS_point_parameters" name="glPointParameterfvSGIS"/>
			</mappings>
		</function>
		<function name="glPointParameteri" return="void">
			<params>
				<param type="GLenum" name="pname"/>
				<param type="GLint" name="param"/>
			</params>
			<mappings>
				<mapping from="GL_NV_point_sprite" name="glPointParameteriNV"/>
			</mappings>
		</function>
		<function name="glPointParameteriv" return="void">
			<params>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_NV_point_sprite" name="glPointParameterivNV"/>
			</mappings>
		</function>
		<function name="glFogCoordf" return="void">
			<params>
				<param type="GLfloat" name="coord"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_fog_coord" name="glFogCoordfEXT"/>
			</mappings>
		</function>
		<function name="glFogCoordfv" return="void">
			<params>
				<param type="const GLfloat*" name="coord"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_fog_coord" name="glFogCoordfvEXT"/>
			</mappings>
		</function>
		<function name="glFogCoordd" return="void">
			<params>
				<param type="GLdouble" name="coord"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_fog_coord" name="glFogCoorddEXT"/>
			</mappings>
		</function>
		<function name="glFogCoorddv" return="void">
			<params>
				<param type="const GLdouble*" name="coord"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_fog_coord" name="glFogCoorddvEXT"/>
			</mappings>
		</function>
		<function name="glFogCoordPointer" return="void">
			<params>
				<param type="GLenum" name="type"/>
				<param type="GLsizei" name="stride"/>
				<param type="const GLvoid*" name="pointer"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_fog_coord" name="glFogCoordPointerEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3b" return="void">
			<params>
				<param type="GLbyte" name="red"/>
				<param type="GLbyte" name="green"/>
				<param type="GLbyte" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3bEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3bv" return="void">
			<params>
				<param type="const GLbyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3bvEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3d" return="void">
			<params>
				<param type="GLdouble" name="red"/>
				<param type="GLdouble" name="green"/>
				<param type="GLdouble" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3dEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3dv" return="void">
			<params>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3dvEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3f" return="void">
			<params>
				<param type="GLfloat" name="red"/>
				<param type="GLfloat" name="green"/>
				<param type="GLfloat" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3fEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3fv" return="void">
			<params>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3fvEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3i" return="void">
			<params>
				<param type="GLint" name="red"/>
				<param type="GLint" name="green"/>
				<param type="GLint" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3iEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3iv" return="void">
			<params>
				<param type="const GLint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3ivEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3s" return="void">
			<params>
				<param type="GLshort" name="red"/>
				<param type="GLshort" name="green"/>
				<param type="GLshort" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3sEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3sv" return="void">
			<params>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3svEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3ub" return="void">
			<params>
				<param type="GLubyte" name="red"/>
				<param type="GLubyte" name="green"/>
				<param type="GLubyte" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3ubEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3ubv" return="void">
			<params>
				<param type="const GLubyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3ubvEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3ui" return="void">
			<params>
				<param type="GLuint" name="red"/>
				<param type="GLuint" name="green"/>
				<param type="GLuint" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3uiEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3uiv" return="void">
			<params>
				<param type="const GLuint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3uivEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3us" return="void">
			<params>
				<param type="GLushort" name="red"/>
				<param type="GLushort" name="green"/>
				<param type="GLushort" name="blue"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3usEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColor3usv" return="void">
			<params>
				<param type="const GLushort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColor3usvEXT"/>
			</mappings>
		</function>
		<function name="glSecondaryColorPointer" return="void">
			<params>
				<param type="GLint" name="size"/>
				<param type="GLenum" name="type"/>
				<param type="GLsizei" name="stride"/>
				<param type="GLvoid*" name="pointer"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_secondary_color" name="glSecondaryColorPointerEXT"/>
			</mappings>
		</function>
		<function name="glWindowPos2d" return="void">
			<params>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2dARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2dMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2dv" return="void">
			<params>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2dvARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2dvMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2f" return="void">
			<params>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2fARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2fMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2fv" return="void">
			<params>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2fvARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2fvMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2i" return="void">
			<params>
				<param type="GLint" name="x"/>
				<param type="GLint" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2iARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2iMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2iv" return="void">
			<params>
				<param type="const GLint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2ivARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2ivMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2s" return="void">
			<params>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2sARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2sMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos2sv" return="void">
			<params>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos2svARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos2svMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3d" return="void">
			<params>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3dARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3dMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3dv" return="void">
			<params>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3dvARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3dvMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3f" return="void">
			<params>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3fARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3fMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3fv" return="void">
			<params>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3fvARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3fvMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3i" return="void">
			<params>
				<param type="GLint" name="x"/>
				<param type="GLint" name="y"/>
				<param type="GLint" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3iARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3iMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3iv" return="void">
			<params>
				<param type="const GLint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3ivARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3ivMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3s" return="void">
			<params>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
				<param type="GLshort" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3sARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3sMESA"/>
			</mappings>
		</function>
		<function name="glWindowPos3sv" return="void">
			<params>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_window_pos" name="glWindowPos3svARB"/>
				<mapping from="GL_MESA_window_pos" name="glWindowPos3svMESA"/>
			</mappings>
		</function>
	</functions>

	<additionals>
		<ext name="GL_SGIS_generate_mipmap"/>
		<ext name="GL_NV_blend_square"/>
		<ext name="GL_ARB_depth_texture"/>
		<one_of>
			<ext name="GL_ARB_shadow"/>
			<ext name="GL_SGIX_shadow"/>
		</one_of>
		<ext name="GL_EXT_stencil_wrap"/>
		<one_of>
			<ext name="GL_ARB_texture_env_crossbar"/>
			<ext name="GL_NV_texture_env_combine4"/>
		</one_of>
		<ext name="GL_EXT_texture_lod_bias"/>
		<ext name="GL_ARB_texture_mirrored_repeat"/>
	</additionals>
</gl_extension>
